%^^A 由于User Manual的内容较多，将其与swufethesis.dtx分离
%^^A 由于这个文件实际上是被以`\DocInput`的方式引入，所以其注释格式遵循dtx
\GetFileInfo{swufethesis.dtx}
\title{\color{SwufeBlue}\SwufeThesis{}：西南财经大学学位论文模板\thanks{对应
    版本\fileversion，发布日期~\filedate。}}
\date{}
\maketitle

\begin{abstract}
  该文档是西南财经大学学位论文\LaTeX{}模板（非官方）\SwufeThesis{}的使用说明文档，
  用户可以根据自己的需求来查阅该手册。
\end{abstract}

\clearpage
\tableofcontents

\clearpage
\section{模板介绍}
\SwufeThesis\ (\textbf{S}outh\textbf{w}estern \textbf{U}niversity
of \textbf{F}inance and \textbf{E}conomics \LaTeX\ \textbf{Thesis} Template)
是为帮助西南财经大学毕业生更简易高效地撰写毕业论文而编写的\LaTeX{}论文模板。

\section{安装}
\SwufeThesis{}目前主要发布在\href{https://github.com/OopsYao/swufethesis/releases}{GitHub Release}
\footnote{\url{https://github.com/OopsYao/swufethesis/releases}}上，包含
TDS安装包、免安装版本和示例文件等，用户可以根据自己的需要下载。

\subsection{手动安装}
下载TDS安装包后解压至任意TDS目录，如\textsf{TEXMFHOME}或\textsf{TEXMFLOCAL}。
以\textsf{TEXMFHOME}目录为例，该目录一般是用户目录下的\textsf{texmf}路径，
Mac系统是个例外，是用户目录下的\textsf{Library/texmf}路径。
如果目录不存在的话直接创建即可。
具体的目录可以根据下面的命令查询。

\begin{shell}
  kpsewhich -var-value TEXMFHOME
\end{shell}

TDS安装包里直接含有\textsf{tex}、\textsf{doc}以及\textsf{source}等目录，
并没有更顶层的目录，但有些压缩软件在解压时会自动地添加一层顶层目录，这会导致
不正确的安装，总之要保证最终安装之后的\textsf{texmf}目录下直接是\textsf{tex}等目录。

手动安装后如果需要更新，直接重新解压覆盖原来的文件即可。如果需要卸载，
删除\textsf{texmf}目录下的\textsf{\meta{tdsroot}/latex/swufethesis}子目录即可（这里
\meta{tdsroot}为\textsf{tex}、\textsf{doc}以及\textsf{source}）。注意不要直接删除\textsf{texmf}
目录，可能有之前手动安装过的其他的宏包。

如果是安装到\textsf{TEXMFLOCAL}目录，安装或卸载后可能都需要用 |mktexlsr|命令刷新缓存。

\subsection{免安装版本}
免安装版本里面包含有示例文件，
除了\textsf{swufethesis}目录，其余皆属于示例文件，
用户可以根据自己的需要删改。
为了保持项目结构的清晰性，文档类\textsf{swufethesis.cls}及其支撑文件
都放在了\textsf{swufethesis}目录，所以用户可能需要注意\TeX{}的路径查找问题。

如果用户使用latexmk作为编译工具，那么只需在\textsf{main.tex}文件所在目录
执行 |latexmk|命令即可编译示例文件，我们已在\textsf{latexmkrc}中进行了
一些简单的配置。否则可能需要把\textsf{swufethesis}目录里的文件
移出来使用，或是修改 |TEXINPUTS|等环境变量。

\section{使用说明}
文档类\cls{swufethesis}提供了\cs{swufesetup}进行相关的信息设定，同时也提供了
其他的一些宏和环境，将在下面一一介绍。

\subsection{论文选项}
\DescribeMacro{\swufesetup}
\cs{swufesetup}命令是最主要的控制文档选项的方式，按如下键值对的方式使用。
每个键值中由半角等号（|=|）分隔键值，同时用半角逗号（|,|）分隔不同的键值对。
但注意到\cs{swufesetup}命令中不要包含空行。
\begin{latex}
  \swufesetup{
    key1 = value1,
    key2 = {a value, with comma}
  }
\end{latex}
另一种选项只适用于载入 \cls{swufethesis} 时，不能通过后续的 \cs{swufesetup} 设定。
\begin{latex}
  \documentclass[option1,option2]{swufethesis}
\end{latex}

\subsubsection{参考文献}
\DescribeOption{nobib}
是否由 \cls{swufethesis} 配置参考文献相关宏包。
参考文献的样式细节非常多，学校也没有比较明确的统一规范，更多时候可能取决于评委老师的个人喜好。
如果指定 |nobib|，则完全由用户进行参考文献相关设定。
该选项只能在载入 \cls{swufethesis} 时使用，默认不使用该选项。

\subsubsection{文档右开}
\DescribeOption{openright}
\DescribeOption{openany}
文档右开控制。该选项只能从文档类 |\documentclass[openright]{swufethesis}| 指定，不能使用 \cs{swufesetup}。
|openright| 和 |openany| 为互补选项，控制正文章节的右开与否（即保证该章节一定位于奇数页）。
默认为 |openany|。

\subsubsection{输出格式与版本}
\DescribeOption{output}
输出格式。可选项有 |print| 和 |electronic|，分别表示打印版和电子版，默认为打印版。
打印版会输出必要的空白页面，保证封面、摘要、正文开始等地方都是右开的，从而可以直接双面打印文档。
正文章节的右开与否则与互补的宏包选项 |openright| 或者 |openany| 决定，与 |output = print| 无关；
电子版则会抑制上述的所有空白页，但不包括用户通过 \cs{newpage} 主动引入的空白页。
\begin{latex}
  \swufesetup{
    output = print
  }
\end{latex}

\DescribeOption{usage}
论文提交用途。可选项有 |normal|、|check| 和 |anon|，分别表示正常版、检测版和匿名版。
正常版正常输出全文；检测版和匿名版各自适用于学校在论文评审过程中的两种版本要求。
匿名版可以配合 \cs{swufeanonmask} \oarg{alter} \marg{text} 使用，如在致谢里条件化地隐藏信息，具体见其说明。
默认为 |normal|。

\subsubsection{学位}
\DescribeOption{degree}
设置论文的学位，可选值有 |bachelor|、|master|、|doctor|，分别对应学士、硕士和博士
学位论文，默认为 |bachelor|。
\begin{latex}
  \swufesetup{
    degree = bachelor
  }
\end{latex}

\subsubsection{学位类型}
\DescribeOption{degree-type}
研究生学位类型，可选值有 |academic|、|professional|、|equivalent|，分别对应学术型、
专业型和同等学力学位，默认为 |academic|。
\begin{latex}
  \swufesetup{
    degree-type = academic
  }
\end{latex}

\subsubsection{标题}
\DescribeOption{title}
\DescribeOption{title*}
中英文标题，本科生只需设置中文标题 |title|即可。
\begin{latex}
  \swufesetup{
    title = 中文标题,
    title* = English
  }
\end{latex}

\subsubsection{专业}
\DescribeOption{discipline}
设置本科生封面专业和研究生学科专业字段。
\begin{latex}
  \swufesetup{
    discipline = 计算机科学与技术（金融信息化方向）,
  }
\end{latex}

\subsubsection{学号}
\DescribeOption{student-id}
对于同等学力研究生论文此项不生效。
\begin{latex}
  \swufesetup{
    student-id = 41799999
  }
\end{latex}

\subsubsection{作者姓名}
\DescribeOption{author}
姓名。
\begin{latex}
  \swufesetup{
    author = 我能写完的
  }
\end{latex}

\subsubsection{指导老师}
\DescribeOption{supervisor}
指导老师。
\begin{latex}
  \swufesetup{
    supervisor = XX教授
  }
\end{latex}

\subsubsection{成文日期}
\DescribeOption{date}
成文日期，需为 |YYYY-MM-DD|格式，同时也用于承诺页上的签署日期。默认是当前日期。
\begin{latex}
  \swufesetup{
    date = 2021-01-04
  }
\end{latex}

\subsubsection{学院}
\DescribeOption{school}
本科生毕业论文的学院。
\begin{latex}
  \swufesetup{
    school = 经济信息工程学院
  }
\end{latex}

\subsubsection{届数}
\DescribeOption{index}
本科生毕业论文的届数。默认根据成文日期设定，成文日期当年的9月（含）至次年的9月
（不含）视为同一届，如成文日期为 |2021-01-04|时则对应届数为2017。
\begin{latex}
  \swufesetup{
    index = 2017
  }
\end{latex}

\subsubsection{密级}
\DescribeOption{secret-level}
\DescribeOption{secret-year}
研究生学位论文的密级与保密年限。对于不保密的论文可以不用设置 |secret-year|。
\begin{latex}
  \swufesetup{
    secret-level = 保密,
    secret-year = 10
  }
\end{latex}

\subsubsection{分类号}
\DescribeOption{udc}
\DescribeOption{clc}
研究生论文的分类号，|udc|和 |clc|分别指UDC分类号和中图分类号。
\begin{latex}
  \swufesetup{
    udc = 004.02,
    clc = TP301.6
  }
\end{latex}

\subsection{封面与学术申明}
\DescribeMacro{\maketitle}
\DescribeMacro{\statement}
封面与学术申明分别由\cs{maketitle}和\cs{statement}生成。

\subsection{前言部分}
\DescribeMacro{\frontmatter}
前言部分由\cs{frontmatter}开启，这部分应该包括中英文摘要和目录。

\subsubsection{摘要}
\DescribeEnv{abstract}
\DescribeEnv{abstract*}
\env{abstract}和\env{abstract*}环境分别表示中英文摘要，同时接受一个必选参数，
里面是对应的中英文关键词，不同的关键词之间用半角逗号（|,|）分隔。
\begin{center}
|\begin{abstract}|\marg{keywords}, |\begin{abstract*}|\marg{keywords}
\end{center}
\begin{latex}
  \begin{abstract}{关键词1, 关键词2, 关键词3}
    简短的摘要。
  \end{abstract}

  \begin{abstract*}{keyword1, keyword2, keyword3}
    Brief abstract.
  \end{abstract*}
\end{latex}

\subsubsection{目录}
\DescribeMacro{\tableofcontents}
目录由\cs{tableofcontents}生成。

\subsection{正文部分}
\DescribeMacro{\mainmatter}
正文部分由\cs{mainmatter}开启，每一章应由\cs{chapter}设定。

\subsection{参考文献}
目前\cls{swufethesis}仅支持通过\pkg{biblatex}设置参考文献。
所以应先通过\cs{addbibiresource}\marg{bib file}设置
引用文献库，并在文中通过\cs{cite}\marg{entry}来引用，最后通过
\cs{printbibliography}打印参考文献。

\subsection{附录}
\DescribeMacro{\appendix}
附录由\cs{appendix}开启。

\subsection{其他章节}
\DescribeMacro{\backmatter}
\cs{backmatter}标记附录的结束。这之后的\cs{chapter}命令将不会被编号，但会被纳入到目录中。

\subsubsection{致谢}
\DescribeEnv{acknowledgments}
直接在\env{acknowledgments}环境里写感谢的话就好了。
\begin{latex}
  \begin{acknowledgments}
    ……
    还要感谢\SwufeThesis{}节省了论文的排版时间！
  \end{acknowledgments}
\end{latex}

\subsection{杂项}
\DescribeMacro{\SwufeThesis}
\DescribeMacro{\swufethesis}
\DescribeMacro{\swufeversion}
\DescribeMacro{\swufedate}
\DescribeMacro{\swufeanonmask}
\cs{SwufeThesis}或者\cs{swufethesis}会打印项目标识\SwufeThesis{}，
而 \cs{swufeversion}与 \cs{swufedate}会打印当前的版本和发布日期（YYYY/MM/DD）。

研究生的学位论文需要提交匿名版，即使是致谢里的信息也需要匿名化处理。
\cs{swufeanonmask} 能够根据 |output| 的选项来自动匿名其参数。
\cs{swufeanonmask} \oarg{alter} \marg{text} 在匿名模式 |output = anon| 时会将 \meta{text} 输出成固定长度的空白；
如果给定了可选参数 \meta{alter}，则输出该参数；在其他情况下原样输出。
而变体 \cs{swufeanonmask*}\marg{text} 输出的空白的长度与 \meta{text} 相同。
变体 \cs{swufeanonmask-}\marg{text} 则在匿名时完全不输出。

\section{致谢}
这个项目在开发的过程借鉴了许多 \href{https://github.com/tuna/thuthesis}{tuna/thuthesis}
的设计，也参考了 \href{https://github.com/stone-zeng/fduthesis}{stone-zeng/fduthesis}、
\href{https://github.com/sukanka/LaTeX-SWUFE-Bachelor-Thesis}{sukanka/LaTeX-SWUFE-Bachelor-Thesis}
等项目，在这里感谢他们的工作！
